function approveSubmit(){
	var idNo = $("#idNo").val();
	var realName = $("#realName").val();
	buttonDis(1);
	if(!chevkRealName(realName)){
		buttonDis(2);
		return;
	}else{
		onfocusText("realNameTip");
	}
	if(!checkIdNo(idNo)){
		buttonDis(2);
		return;
	}else{
		onfocusText("idNoTip");
	}
	approve();
}



function approve(){
	var para = {};
	para["paramMap.realName"] = trim($("#realName").val());
    para["paramMap.cardId"] = trim($("#idNo").val());
    para["paramMap.pageId"] = "checkIDCard";
    $.ajax({
		url: "checkUserIDCard.do",
		type: "post",
		data: para,
		async: false,
		success: function(data) {
    		if(data=="3"){
    			showMsg("认证成功");
    			buttonDis(2);
				location.href = "wchatAccount.do";
    		}else if(data=="2"){
    			showMsg("认证失败，姓名和身份证号不一致");
    			buttonDis(2);
    		}else if(data=="1"){
    			showMsg("库中无此号，请到户籍所在地核实");
    			buttonDis(2);
    		}else {
    			showMsg("认证失败，认证服务忙，请稍后操作");
    			buttonDis(2);
    		}
			
		}
	});
}

function chevkRealName(realName){
	var reg = /^[\u4E00-\u9FA5]+$/;
	if(realName=="" || trim(realName)==""){
		$("#realNameTip").html("<div class='onError'>请填写真实姓名！</div>");
		return false;
	}else if(realName.length > 20 || realName.length < 2){
		$("#realNameTip").html("<div class='onError'>您输入的真实姓名长度不正确！长度为2-20个字符！</div>");
		return false;
	}else if(!reg.test(realName)){ 
		$("#realNameTip").html("<div class='onError'>您输入的真实姓名不是中文！</div>");
		return false;
	}
	return true;
}

function checkIdNo(idNo){
	if(idNo=="" || trim(idNo)==""){
		$("#idNoTip").html("<div class='onError'>请填写身份证号码！</div>");
		return false;
	}
	var re = checkIDCard(idNo);
	if(re != "0"){
		$("#idNoTip").html("<div class='onError'>"+re+"</div>");
		return false;
	}
	return true;
}

function showMsg(msg){
	$("#errorMsg").html("<div class='onError'>"+msg+"</div>");
}

function onfocusText(id){
	$("#"+id).html("&nbsp;");
	$("#errorMsg").html("&nbsp;");
}

function buttonDis(flag){
	var obj = document.getElementById("submitButton");
	if(flag==1){
		obj.innerHTML = "提交中...";
		obj.disabled = true;
	}else{
		obj.innerHTML = "提&nbsp;&nbsp;&nbsp;&nbsp;交";
		obj.disabled = false;
	}
}
//去掉字符串头尾空格   
function trim(str) { 
	return str.replace(/(^\s*)|(\s*$)/g, "");
}

function checkIDCard(idcard){  
    var Errors=new Array(  
    "0",  
    "身份证号码位数不对!",  
    "身份证号码出生日期超出范围或含有非法字符!",  
    "身份证号码校验错误!",  
    "身份证地区非法!"  
    );  
    var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}   
    var ereg20; 
    var idcard,Y,JYM;  
    var S,M;  
    var idcard_array = new Array();  
    idcard_array = idcard.split("");  
    //地区检验  
    if(area[parseInt(idcard.substr(0,2))]==null)   
        return Errors[4];//return Errors[4];  
    //身份号码位数及格式检验  
    switch(idcard.length)  
    {  
        case 15:  
            if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 ))  
            {  
                //测试出生日期的合法性  
                ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;  
            }  
            else   
            {  
                //测试出生日期的合法性  
                ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;  
            }  
            if(ereg.test(idcard))   
                return Errors[0];//return Errors[0];  
            else  
                return Errors[2];//return Errors[2];  
        break;  
        case 18:  
            //18位身份号码检测  
            //出生日期的合法性检查   
            //闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))  
            //平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))  
            if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 ))  
            {  
                //闰年出生日期的合法性正则表达式  
                ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;  
                ereg20=/^[1-9][0-9]{5}20[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;
            }   
            else   
            {  
                //平年出生日期的合法性正则表达式  
                ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;  
                ereg20=/^[1-9][0-9]{5}20[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;
            }
            
            if(ereg.test(idcard)|| ereg20.test(idcard))  
            {  
                //测试出生日期的合法性  
                //计算校验位  
                S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7  
                + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9  
                + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10  
                + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5  
                + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8  
                + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4  
                + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2  
                + parseInt(idcard_array[7]) * 1   
                + parseInt(idcard_array[8]) * 6  
                + parseInt(idcard_array[9]) * 3 ;  
                Y = S % 11;  
                M = "F";  
                JYM = "10X98765432";  
                M = JYM.substr(Y,1);//判断校验位  
                if(M == idcard_array[17])   
                    return Errors[0];//return Errors[0]; //检测ID的校验位  
                else   
                    return Errors[3];//return Errors[3];  
            }  
            else   
                return Errors[2];//return Errors[2];  
        break;  
        default:  
            return Errors[1];//return Errors[1];  
        break;  
    }  
}